package co.inventario.modelo.negocio;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;

import co.inventario.datos.sqlserver.InsumoDAOSQLServer;
import co.inventario.entidad.InsumoDTO;

public class InsumoNegocio {

	public void crear(InsumoDTO insumoDTO, Connection connection) throws Exception, SQLException {
		InsumoDAOSQLServer insumoDAOSQLServer = new InsumoDAOSQLServer();
		InsumoDTO insumoDTOConsultado = insumoDAOSQLServer.consultarPorDescripcion(insumoDTO, connection);
		if (insumoDTOConsultado == null) {
			insumoDAOSQLServer.crear(insumoDTO, connection);
		} else {
			throw new Exception("El Insumo que intenta crear, ya existe.");
		}
	}

	public void actualizar(InsumoDTO insumoDTO, Connection connection) throws Exception, SQLException {
		InsumoDAOSQLServer insumoDAOSQLServer = new InsumoDAOSQLServer();
		InsumoDTO insumoDTOConsultado = insumoDAOSQLServer.consultarPorSku(insumoDTO, connection);
		if (insumoDTOConsultado != null) {
			insumoDAOSQLServer.actualizar(insumoDTO, connection);
		} else {
			throw new Exception("El Insumo que intenta actualizar, no existe.");
		}
	}

	public InsumoDTO consultarPorCodigo(InsumoDTO insumoDTO, Connection connection) throws Exception, SQLException {
		InsumoDAOSQLServer insumoDAOSQLServer = new InsumoDAOSQLServer();
		InsumoDTO insumoDTOConsultado = insumoDAOSQLServer.consultarPorCodigo(insumoDTO, connection);
		return insumoDTOConsultado;
	}

	public ArrayList<InsumoDTO> consultarTodo(Connection connection) throws Exception, SQLException {
		InsumoDAOSQLServer insumoDAOSQLServer = new InsumoDAOSQLServer();
		ArrayList<InsumoDTO> insumoDTOLista = insumoDAOSQLServer.consultarTodo(connection);
		return insumoDTOLista;
	}
}
